Cel:		Coolrun 2.0
Opis:		Gierka platformowa
Wady:		30 dni prbnych
Narzdzia:	SoftIce 3.xx

1.Odpalamy gierk i widzimy ekran informujcy, e moemy uywa
programu przez 30 dni za friko potem trza zapaci.Widzimy 4 przyciski,
jednym z nich jest Activate registered copy.Klikamy na nim.Ukazuje
si screen proszcy nas o wprowadzenie imienia i s/n.
2.Wpisujemy dane np. bart i 987654321
3.Wchodzimy do SI i zakadamy puapk na hmemcpy(dlaczego na hmemcpy,
a nie na np.GetDlgItemText?Poniewa program jest napisany w Delphi
a te inaczej realizuj pobieranie textw z okienek edycyjnych)
4.Wychodzimy z SI
5.Klikamy Check the number,SI zatrzymuje nam dziaanie programu na
pierwszym wywoaniu hmemcpy, w SI naciskamy F5, kolejne wywoanie
hmemcpy, tyle tylko, e tym razem naciskamy F11 i jestemy w rodku
(prawie)
6.Widzimy nastpujcy kod

.0044F48D: 8B85ACFDFFFF  mov       eax,[ebp][0FFFFFDAC] <--user name
.0044F493: 5A            pop       edx       <--nasz serial			
.0044F494: E897FEFFFF    call     .00044F330 <<--gwny call
.0044F499: 84C0          test      al,al     <--sprawdzenie
.0044F49B: 0F84F1000000  je       .00044F592 <--skok bad guy

7.Gdy bdziemy pod 44F494 naciskamy F8, potem F10 a do momentu

.0044F3DB: 8D85F5FDFFFF  lea       eax,[ebp][0FFFFFDF5]<--eax user name(uppercase)
.0044F3E1: 33D2          xor       edx,edx <--czy edx
.0044F3E3: 8A10          mov       dl,[eax]<--dl kolejne znaki z user name
.0044F3E5: 0FAF55F4      imul      edx,[ebp][-000C] <--kod hex z edx*word ptr[licznik]
.0044F3E9: 03FA          add       edi,edx          <--wynik mnoenia z edx dodaj do edi
.0044F3EB: FF45F4        inc       d,[ebp][-000C]   <--zwiksz word ptr[licznik]
.0044F3EE: 40            inc       eax		    <--nastpny znak spod eax	
.0044F3EF: 4E            dec       esi              <--esi liczba znakw user name
.0044F3F0: 75EF          jne      .00044F3E1        <--id po nastpny znak

Najpierw do eax jest adowany adres user name, potem do dl jest wpisywany kod
hex kolejnych znakw spod eax.dl jest mnoone przez kolejne liczby cakowite
1,2,3,4,5,6(word ptr[ebp-0C]) wynik mnoenia z edx dodawany jest do edi,
gdzie jako wartoc pocztkowa jest liczba 1243h(zawsze staa).Kocowa suma
jest poprawnym s/n.

...
.0044F3FD: 3BF8          cmp       edi,eax   <--poprawny,nasz
.0044F3FF: 750B          jne      .00044F40C <--czyszczenie al

8.Pod 44F3FD piszemy ?eax i widzimy 987654321, potem ?edi.I jak
nietrudno si domysle edi zawiera poprawny s/n, ktry dla moich
danych to 5453.

cu
wojcikb@zsee.bytom.pl
